Systems and methods for location tracking notification

ABSTRACT

Systems and methods for location tracking notification are provided. Location sharing involves a mobile device sending location information to another device. This can allow another device to track the geographic location of the mobile device. Even though permissions can restrict access of the location information to only authorised users, the user of the mobile device might nonetheless wish to be informed of when another user is tracking their location. In accordance with an embodiment of the disclosure, if the location of the mobile device is being tracked, then the mobile device executes a user notification indicating that the location of the mobile device is being tracked. This can inform the user that their location is being tracked.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.15/899,178 filed Feb. 19, 2018, which is a continuation of U.S.application Ser. No. 14/478,262 filed Sep. 5, 2014, now U.S. Pat. No.9,900,732, which is a divisional of U.S. application Ser. No. 12/432,371filed Apr. 29, 2009, now U.S. Pat. No. 8,849,314, all of which areincorporated herein by reference.

FIELD OF THE DISCLOSURE

The application relates to mobile devices, and more particularly totracking the geographic location of one or more mobile devices.

BACKGROUND

A location-based service (LBS) is an information and entertainmentservice that makes use of the geographical position of one or moremobile devices. Some applications involve tracking the geographiclocation of one or more mobile devices. In order for a communicationdevice to track the location of a mobile device, the communicationdevice receives location information from which the geographicallocation of the mobile device can be determined. The locationinformation can be generated by the mobile device using GPS technologyor by other means. The communication device can receive locationinformation on an ongoing basis in order to keep up to date on thegeographical location of the mobile device.

Privacy can be a concern when providing location information. Oneapproach is to implement permissions for accessing location information.This can prevent unauthorised users from accessing location informationof a mobile device, as only authorised users can access the locationinformation.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments will now be described with reference to the attacheddrawings in which:

FIG. 1 is a block diagram of an example communication system featuringpeer-to-peer communication;

FIG. 2 is a block diagram of an example communication system featuringserver-based communication;

FIG. 3 is a flowchart of a method of notifying a user that its locationis being tracked by another device;

FIG. 4 is a flowchart of a method of notifying a user that its locationis being tracked by another device in a peer-to-peer architecture;

FIG. 5 is a flowchart of a method of notifying a user that its locationis being tracked by another device in a server-based architecture;

FIG. 6 is a flowchart of a method for a server to report each devicethat is tracking the location

FIG. 7 is a flowchart of another method of notifying a user that itslocation is being tracked by another device;

FIG. 8 is a flowchart of a method of notifying a user that its locationis no longer being tracked by another device;

FIG. 9 is a flowchart of a method of notifying a user in real-time whenits location is being tracked by another device;

FIG. 10 is a flowchart of a method of obtaining location information ofa mobile device only when the location information is needed;

FIG. 11 schematic of an example graphic user interface (GUI) fornotifying a user in real-time when its location is being tracked; and

FIG. 12 is a block diagram of a mobile device.

DETAILED DESCRIPTION OF EMBODIMENTS

It should be understood at the outset that although illustrativeimplementations of one or more embodiments of the present disclosure areprovided below, the disclosed systems and/or methods may be implementedusing any number of techniques, whether currently known or in existence.The disclosure should in no way be limited to the illustrativeimplementations, drawings, and techniques illustrated below, includingthe exemplary designs and implementations illustrated and describedherein, but may be modified within the scope of the appended claimsalong with their full scope of equivalents.

According to an aspect, there is provided a method for execution in aserver, the method comprising: receiving location information of amobile device; providing the location information to at least one otherdevice; and sending a message to the mobile device identifying who orwhat is tracking the location of the mobile device.

According to another aspect, there is provided a computer readablemedium having computer executable instructions stored thereon forexecution on a processor of a server so as to implement a methodcomprising: receiving location information of a mobile device; providingthe location information to at least one other device; and sending amessage to the mobile device identifying who or what is tracking thelocation of the mobile device.

According to another aspect, there is provided a server comprising: aprocessor; and a location tracking informer configured for: receivinglocation information of a mobile device; providing the locationinformation to at least one other device; and sending a message to themobile device identifying who or what is tracking the location of themobile device.

Other aspects and features of the present disclosure will becomeapparent, to those ordinarily skilled in the art, upon review of thefollowing description of the specific embodiments of the invention.

Systems for Location Tracking Notification

Turning now to FIG. 1, shown is a block diagram of an examplecommunication system featuring peer-to-peer communication. Thecommunication system has a wireless network 20, and a plurality ofdevices 10,30,35 including a mobile device 10 and other communicationdevices 30,35. There might be other devices, but they are not shown forsimplicity. The mobile device 10 has a wireless access radio 11, a GPSreceiver 12, a processor 13, a location tracking notifier 14, and mighthave other components but they are not shown for simplicity. Details ofthe other communication devices 30,35 are omitted for simplicity. Thereare a plurality of GPS satellites 40 (only one shown for simplicity) forthose devices that are GPS-enabled, for example the mobile device 10.

The operation of the communication system will now be described by wayof example. Communication between the devices 10,30,35 is through thewireless network 20. The mobile device 10 uses its wireless access radio11 for communicating wirelessly over a wireless connection 21, while theother communication devices 30,35 communicate over respectiveconnections 22,23. The connections 22,23 can be wireless or wireddepending on whether the communication devices 30,35 are mobile. Forthis example, it is assumed that the communication between the devices10,30,35 is performed in a peer-to-peer manner. However, alternativeimplementations are possible. An example featuring communication in aserver-based manner is described later with reference to FIG. 2.

The mobile device 10 generates location information using GPStechnology, which involves receiving GPS signals 41 from the GPSsatellites 40 using its GPS receiver 12. Location sharing involves themobile device 10 sending the location information to another device, forexample one of the other communication devices 30,35. This can allowanother device to track the geographic location of the mobile device 10.

Privacy can be a concern when providing the location information. Oneapproach is to implement permissions for accessing the locationinformation. For example, the user might have a set of rules indicatingwho can access their location information. This can prevent unauthorisedusers from accessing the location information. However, even thoughpermissions can restrict access of the location information to onlyauthorised users, the user of the mobile device 10 might nonethelesswish to be informed of when another user is tracking their location.

In accordance with an embodiment of the disclosure, if the location ofthe mobile device 10 is being tracked, then the location trackingnotifier 14 executes a user notification indicating that the location ofthe mobile device 10 is being tracked. This can inform the user thattheir location is being tracked.

There are many ways to determine whether the location of the mobiledevice 10 is being tracked. In some implementations, the mobile device10 determines that each device to which the location information is sentis tracking the location of the mobile device 10. For example, if themobile device 10 provides the location information to the firstcommunication device 30, then the mobile device 10 determines that thefirst communication device 30 is tracking its location. Since thelocation information is provided to the first communication device 30 ina peer-to-peer manner, the mobile device 10 is aware that the locationinformation is sent to the first communication device 30.

In some implementations, if a communication device is not presentlytracking the location of the mobile device, then the communicationdevice indicates this to the mobile device 50. Thus, the mobile device50 can avoid sending location information to the communication deviceeven though the communication device might have permission to thelocation information. For those communication devices that are receivingthe location information and do not indicate that the locationinformation is not needed, then it is assumed that they are tracking thelocation of the mobile device 10.

In some implementations, the user notification identifies who or what istracking the location of the mobile device. In some implementations, theuser notification identifies each device to which the locationinformation is sent. For example, if the mobile device 10 provides thelocation information to the first communication device 30, then the usernotification identifies the first communication device 30. Theidentification is provided in a manner that distinguishes from otherdevices such as the second communication device 35. As an alternative,the user notification can identify the user of each device to which thelocation information is sent. This serves to inform the user of themobile device 10 of who is tracking its location. As anotheralternative, the user notification can identify a tracking applicationoperating on each device to which the location information is sent. Anyappropriate combination is also possible, for example the usernotification can identify a device to which the location information issent together with the user of that device.

In the illustrated example, the location tracking notifier 14 isimplemented as software and is executed on the processor 13. However,more generally, the location data provider 14 may be implemented assoftware, hardware, firmware, or any appropriate combination thereof.

Further details of notifying a user that its location is being trackedby another device in a peer-to-peer architecture are provided later withreference to FIG. 4.

Turning now to FIG. 2, shown is a block diagram of an examplecommunication system featuring server-based communication. Thecommunication system has a wireless network 60, and a plurality ofdevices 50,30,35 including a mobile device 50 and other communicationdevices 70,75. There might be other devices, but they are not shown forsimplicity. The mobile device 50 has a wireless access radio 51, a GPSreceiver 52, a processor 53, a location tracking notifier 54, and mighthave other components but they are not shown for simplicity. Details ofthe other communication devices 70,75 are omitted for simplicity. Thewireless network 60 has a server 65, which has a processor 66, alocation tracking informer 67, a location tracker 68, and might haveother components but they are not shown for simplicity. The server 65 isshown to part of the wireless network 60. In alternative configurations,the server 65 does not form part of the wireless network 60 and isinstead coupled to the wireless network 60. There are a plurality of GPSsatellites 80 (only one shown for simplicity) for those devices that areGPS-enabled, for example the mobile device 50.

The operation of the communication system will now be described by wayof example. Communication between the devices 50,70,75 is through theserver 65 of the wireless network 60. The mobile device 50 uses itswireless access radio 51 for communicating wirelessly over a wirelessconnection 61, while the other communication devices 70,75 communicateover respective connections 62,63. The connections 62,63 can be wirelessor wired depending on whether the communication devices 70,75 aremobile. For this example, it is assumed that the communication betweenthe devices 50,70,75 is performed in a server-based manner. However,alternative implementations are possible. An example featuringcommunication in a peer-to-peer manner was described earlier withreference to FIG. 1.

The mobile device 50 generates location information using GPStechnology, which involves receiving GPS signals 81 from the GPSsatellites 80 using its GPS receiver 52. Location sharing involves themobile device 50 sending the location information to the server 65,which in turn provides the location information to another device. Forexample, the location tracker 68 of the server 65 might operate toprovide the location information to one of the other communicationdevices 70,75. Location sharing can allow another device to track thegeographic location of the mobile device 50.

Privacy can be a concern when providing the location information. Oneapproach is to implement permissions for accessing the locationinformation. This can prevent unauthorised users from accessing thelocation information. However, even though permissions can restrictaccess of the location information to only authorised users, the user ofthe mobile device 50 might nonetheless wish to be informed of whenanother user is tracking their location.

In accordance with an embodiment of the disclosure, if the location ofthe mobile device 50 is being tracked, then the location trackingnotifier 54 executes a user notification indicating that the location ofthe mobile device 50 is being tracked. This can inform the user thattheir location is being tracked.

There are many ways to determine whether the location of the mobiledevice 50 is being tracked. In some implementations, the mobile device50 determines that another device is tracking the location of the mobiledevice 50 based on the location information being sent to the server 65.Since the location information is provided in a server-based manner, themobile device 50 might not be aware of which devices are tracking itslocation. However, the server 65 is aware of which devices are providedwith the location information. According to another embodiment of thedisclosure, the location tracking informer 67 of the server 67 operatesto send a message to the mobile device 50 identifying who or what istracking the location of the mobile device 50. Upon receiving themessage, the mobile device 50 becomes aware of who or what is trackingthe location of the mobile device.

In some implementations, if a communication device is not presentlytracking the location of the mobile device, then the communicationdevice indicates this to the server 65. Thus, the server 65 can avoidsending location information to the communication device even though thecommunication device might have permission to the location information.For those communication devices that are receiving the locationinformation and do not indicate that the location information is notneeded, then it is assumed that they are tracking the location of themobile device 10.

In the illustrated example, the location tracking informer 67 of theserver 65 is implemented as software and is executed on the processor66. However, more generally, the location tracking informer 67 may beimplemented as software, hardware, firmware, or any appropriatecombination thereof. In some implementations, the server 65 is aPresences Server.

In some implementations, the user notification executed by the mobiledevice 50 identifies who or what is tracking the location of the mobiledevice. The identification of who or what is tracking the location ofthe mobile device might depend on what information is provided by theserver. For example, if the server 65 indicates to the mobile device 50that the location information was provided to the first communicationdevice 70, then the user notification can identify the firstcommunication device 70. The identification can be provided in a mannerthat distinguishes from other devices such as the second communicationdevice 75. As another example, if the server 65 identifies the user ofthe first communication device 70, then the user notification canidentify that user. This serves to inform the user of the mobile device50 of who is tracking its location. As another example, if the server 65identifies a tracking application operating on the first communicationdevice 70, then the user notification identifies that application. Anyappropriate combination is also possible, for example the usernotification can identify a device to which the location information issent together with the user of that device.

In the illustrated example, the location tracking notifier 54 of themobile device 50 is implemented as software and is executed on theprocessor 53. However, more generally, the location data provider 54 maybe implemented as software, hardware, firmware, or any appropriatecombination thereof.

Further details of notifying a user that its location is being trackedby another device in a server-based architecture are provided later withreference to FIG. 5 and FIG. 6.

In the illustrated examples presented above with reference to FIG. 1 andFIG. 2, details of the wireless networks 20,60 have been omitted. It isto be understood that the wireless networks 20,60 would have anyappropriate combination of components suitable for a wireless network.Note that the wireless networks 20,60 may include wires in spite ofhaving components for wireless communication. The components of thewireless networks 20,60 are implementation specific and may depend onthe type of wireless network. Any appropriately configured wirelessnetwork can be used. In specific implementations, the wireless networks20,60 are GSM (Global System for Mobile communications)/EDGE (EnhancedData rates for GSM Evolution)/3G or CDMA (Code Division Multiple Access)networks. In other implementations, the wireless networks 20,60 are WiFinetworks. Other implementations are possible.

In the illustrated examples presented above with reference to FIG. 1 andFIG. 2, it is assumed that at least some of the devices are GPS-enabledfor determining geographic location. Whilst examples presented hereinfocus on use of GPS, it is to be understood that alternative means fordetermining geographic location are possible and are within the scope ofthis disclosure. For example, geographic location can alternatively bedetermined based on cell/sector identification within cellular network.As another example, geographic location can be determined usingtriangulation of signals from in-range base towers, such as those usedfor Wireless E911. Wireless Enhanced 911 services enable a cell phone orother wireless device to be located geographically using radiolocationtechniques such as (i) angle of arrival (AOA) which entails locating thecaller at the point where signals from two towers intersect; (ii) timedifference of arrival (TDOA), which uses multilateration like GPS,except that the networks determine the time difference and therefore thedistance from each tower; and (iii) location signature, which uses“fingerprinting” to store and recall patterns (such as multipath) whichmobile phone signals exhibit at different locations in each cell.Coarser location information can be obtained not only be triangulatingthe device's position based on nearby cell towers but also based onnearby Wi-Fi access points via a WLAN radio. As an alternative example,geographic location can be determined based on bar codes. Each bar codeis located in a predefined location and encodes location information forthat location. A mobile device, upon scanning/taking picture of one ofthese bar codes, can obtain the location information. The bar codes canbe 1-dimensional, or 2-dimensional. Other means for determininggeographic location may be possible.

In the examples presented herein, reference is made to “locationinformation” of a mobile device. It is to be understood that there aremany possibilities for the location information. In specificimplementations, the location information is presence information. Insome implementations, the location information includes coordinates ofthe location of the mobile device. The coordinates might for example bederived using GPS technology. More generally, the location informationincludes any suitable information from which the location of the mobiledevice can be determined.

Methods for Location Tracking Notification

Referring now to FIG. 3, shown is a flowchart of a method of notifying auser that its location is being tracked by another device. This methodmay be implemented in a mobile device, for example by the locationtracking notifier 14 of the mobile device 10 shown in FIG. 1.Alternatively, this method may be implemented by the location trackingnotifier 54 of the mobile device 51 shown in FIG. 2. More generally,this method may be implemented in any appropriately configured mobiledevice.

At step 3-1, the mobile device determines whether its location is beingtracked by at least one other device. As noted above, even if authorisedusers have permission to track the location of the mobile device, theuser of the mobile device might nonetheless wish to be informed of whenanother user is tracking their location. Therefore, in accordance withan embodiment of the disclosure, if the location of the mobile device isbeing tracked, then at step 3-2 the mobile device executes a usernotification indicating that its location is being tracked.

There are many ways for the mobile device to determine whether itslocation is being tracked. In some implementations, if the mobile devicesends its location data, then the mobile device determines that itslocation is being tracked. The manner in which the location data is sentmight depend on whether the mobile device communicates with otherdevices in a peer-to-peer architecture or in a server-basedarchitecture. An example in which location data is sent in apeer-to-peer architecture is provided below with reference to FIG. 4. Anexample in which location data is sent in a server-based architecture isprovided below with reference to FIG. 5. In other implementations, ifthe mobile device accepts a request for location data, then the mobiledevice determines that its location is being tracked, even if itslocation information has yet to be sent. An example of this is describedbelow with reference to FIG. 7. Other implementations are possible.

There are many ways for the mobile device to execute the usernotification indicating that its location is being tracked. In someimplementations, the user notification includes any one or more ofvisual notification (e.g. LED, screen icon, screen text, etc.), audionotification (e.g. chime, ring, etc.), and tactile notification (e.g.vibrate, etc.). Any suitable notification from which the user canunderstand that its location is being tracked can be implemented. Inalternative implementations, the user notification comprisestransmission of a message, for example SMS, instant messaging, or email,for indicating that the location of the mobile device is being tracked.The message can be received by the user of the mobile device in order toinform the user that the location of the mobile device is being tracked.Other implementations are possible.

In some implementations, the user notification identifies who or what istracking the location of the mobile device, examples of which have beenprovided. The manner in which the mobile device determines who istracking its location might depend on whether the mobile devicecommunicates with other devices in a peer-to-peer architecture or in aserver-based architecture. An example in which the mobile devicedetermines who is tracking its location in a peer-to-peer architectureis provided below with reference to FIG. 4. An example in which themobile device determines who is tracking its location in a server-basedarchitecture is provided below with reference to FIG. 5. In alternativeimplementations, no indication is provided as to who is tracking thelocation of the mobile device. Other implementations are possible.

Referring now to FIG. 4, shown is a flowchart of a method of notifying auser that its location is being tracked by another device in apeer-to-peer architecture. This method may be implemented in a mobiledevice, for example by the location tracking notifier 14 of the mobiledevice 10 shown in FIG. 1. More generally, this method may beimplemented in any appropriately configured mobile device.

At step 4-1, the mobile device determines location information of themobile device. At step 4-2, the mobile device sends the locationinformation to at least one device. As noted above, even if authorisedusers have permission to track the location of the mobile device, theuser of the mobile device might nonetheless wish to be informed of whenanother user is tracking their location. Therefore, in accordance withan embodiment of the disclosure, at step 4-3 the mobile device executesa user notification indicating that its location is being tracked.

Generally speaking, the location information is provided upon an eventthat triggers the mobile device to send the location information. Theevent might for example be a request for the location information.Alternatively, the event might for example be a condition beingsatisfied for sending the location information. For instance, if themobile device is to provide location information upon traveling at leasta minimum amount of distance, then travelling the minimum amount ofdistance triggers the mobile device to provide location information. Themobile device might have a set of rules for providing locationinformation upon satisfaction of one or more conditions.

In some implementations, the user notification identifies who or what istracking the location of the mobile device, examples of which have beenprovided. Since the location information is provided to each device in apeer-to-peer manner, the mobile device is aware of each device receivingthe location information. The user notification can therefore inform theuser of who is tracking its location.

Referring now to FIG. 5, shown is a flowchart of a method of notifying auser that its location is being tracked by another device in aserver-based architecture. This method may be implemented in a mobiledevice, for example by the location tracking notifier 54 of the mobiledevice 51 shown in FIG. 2. More generally, this method may beimplemented in any appropriately configured mobile device.

At step 5-1, the mobile device determines location information of themobile device. At step 5-2, the mobile device sends the locationinformation to a server. In some implementations, as indicated at step5-3, the mobile device receives a message from the server identifyingwho or what is tracking the location of the mobile device. Inalternative implementations, no such message is received in which casethe mobile device might not know who or what is tracking its location,but nonetheless assumes that at least one other device is tracking itslocation. As noted above, even if authorised users have permission totrack the location of the mobile device, the user of the mobile devicemight nonetheless wish to be informed of when another user is trackingtheir location. Therefore, in accordance with an embodiment of thedisclosure, at step 5-4 the mobile device executes a user notificationindicating that its location is being tracked.

Generally speaking, the location information is provided upon an eventthat triggers the mobile device to send the location information. Theevent might for example be a request for the location information.Alternatively, the event might for example be a condition beingsatisfied for sending the location information. For instance, if themobile device is to provide location information upon traveling at leasta minimum amount of distance, then travelling the minimum amount ofdistance triggers the mobile device to provide location information. Themobile device might have a set of rules for providing locationinformation upon satisfaction of one or more conditions.

In some implementations, the user notification identifies who or what istracking the location of the mobile device, examples of which have beenprovided. The mobile device might determine who or what is tracking thelocation of the mobile device, for example based on the message receivedat step 5-3. The user notification can therefore inform the user of whoor what is tracking its location.

Referring now to FIG. 6, shown is a flowchart of a method for a serverto report each device that is tracking the location. This method may beimplemented in server, for example by the location tracking informer 67of the server 65 shown in FIG. 2. More generally, this method may beimplemented in any appropriately configured server.

At step 6-1, the server receives location information of the mobiledevice. At step 6-2, the server provides the location information to atleast one other device. In some implementations, each device has beendetermined to have permission to obtain the location information.However, even if authorised users have permission to track the locationof the mobile device, the user of the mobile device might nonethelesswish to be informed of who is tracking their location. Therefore, inaccordance with an embodiment of the disclosure, at step 6-3 the serversends a message to the mobile device identifying who or what is trackingthe location of the mobile device.

In the examples presented above, it is assumed that a mobile deviceexecutes a user notification around the time that location informationis provided. In other implementations, the mobile device executes a usernotification upon granting a request for the location information, evenif location information might not be provided for a while. In someinstances, location information might be provided much later than thetime of the request. However, the user of the mobile device mightnonetheless wish to be promptly notified that its location is beingtracked. An example of executing a user notification upon granting arequest for the location information is provided below with reference toFIG. 7.

Referring now to FIG. 7, shown is a flowchart of another method ofnotifying a user that its location is being tracked by another device.This method may be implemented in a mobile device, for example by thelocation tracking notifier 14 of the mobile device 10 shown in FIG. 1.Alternatively, this method may be implemented by the location trackingnotifier 54 of the mobile device 51 shown in FIG. 2. More generally,this method may be implemented in any appropriately configured mobiledevice.

At step 7-1, the mobile device receives a request for locationinformation. At step 7-2, the mobile device determines whether to grantthe request. This might for example involve determining whether a sourceof the request has permission to track the location of the mobiledevice. If the request is not granted, then the method ends. Inalternative implementations, if the request is not granted, then mobiledevice executes a user notification indicating that a request forlocation information has been denied. This can inform the user thatthere was an attempt to track its location.

However, if the request is granted, then the mobile device determinesthat another device is tracking its location. As noted above, even ifauthorised users have permission to track the location of the mobiledevice, the user of the mobile device might nonetheless wish to beinformed of when another user is tracking their location. Therefore, inaccordance with an embodiment of the disclosure, the mobile deviceexecutes a user notification indicating that its location is beingtracked. In some implementations, the user notification identifies whoor what initiated the request. This serves to inform the user of themobile device as to who or what is tracking its location.

In some implementations, as indicated at step 7-3, the mobile devicedetermines a type of location tracking. This allows the mobile device toexecute the user notification based on the type of location tracking. Ina specific example, if at step 7-3 the mobile device determines that itslocation is being actively tracked, then at step 7-4 the mobile deviceexecutes a user notification that is associated with active tracking.Conversely, if at step 7-3 the mobile device determines that itslocation is being passively tracked, then at step 7-7 the mobile deviceexecutes a user notification that is associated with passive tracking.Details of active location tracking and passive location tracking aredescribed below.

Active location tracking might for example involve periodicallyproviding location information in response to one request, namely therequest received at step 7-2. Therefore, the mobile device periodicallydetermines location information at step 7-5 and periodically providesthe location information at step 7-6. Alternatively, active locationtracking might involve providing location information in response toeach of a plurality of requests, one of which being the request receivedat step 7-2. In any case, the device to which the location informationis sent actively tracks the location of the mobile device.

Passive location tracking might for example involve providing locationinformation only upon a condition other than a request being satisfied.For example, the request received at step 7-2 might be a geofencerequest, which indicates that location information is not needed untilthe mobile device leaves a geofence. Therefore, prior to the mobiledevice leaving the geofence, the mobile device does not provide anylocation information. As another example, the request received at step7-2 might indicate that location information is not needed until themobile device moves at least a minimum amount of distance from itscurrent position. As another example, the request received at step 7-2might indicate that location information is not needed until the mobiledevice becomes within proximity of another object. These examples differfrom active location tracking because there is reliance on the mobiledevice to determine when to provide location information. Other forms ofpassive tracking are possible.

Examples have been provided for informing a user of a mobile device whentheir location is being tracked by another user. The user of the mobiledevice might also wish to know when the other user is no longer trackingtheir location. Example methods of notifying the user that theirlocation is no longer being tracked are provided below.

Referring now to FIG. 8, shown is a flowchart of a method of notifying auser that their location is no longer being tracked by another device.This method may be implemented in a mobile device, for example by thelocation tracking notifier 14 of the mobile device 10 shown in FIG. 1.Alternatively, this method may be implemented by the location trackingnotifier 54 of the mobile device 51 shown in FIG. 2. More generally,this method may be implemented in any appropriately configured mobiledevice.

The method will be described with the assumption that at least onedevice was tracking the location of the mobile device. However, it isnoted that this is not a requirement for the method. At step 8-1, themobile device determines whether the location of the mobile device is nolonger being tracked by the at least one device. If the location of themobile device is no longer being tracked by the at least one device,then at step 8-2 the mobile device executes a user notificationindicating that the location of the mobile device is no longer beingtracked by the at least one device.

By informing a user that its location is being tracked by anotherdevice, and subsequently informing the user that its location is nolonger being tracked by the other device, the user can be informed inreal-time as to who or what is tracking their location. An examplemethod of notifying a user in real-time when their location is beingtracked by another device is described below.

Referring now to FIG. 9, shown is a flowchart of a method of notifying auser in real-time when their location is being tracked by anotherdevice. This method may be implemented in a mobile device, for exampleby the location tracking notifier 14 of the mobile device 10 shown inFIG. 1. Alternatively, this method may be implemented by the locationtracking notifier 54 of the mobile device 51 shown in FIG. 2. Moregenerally, this method may be implemented in any appropriatelyconfigured mobile device.

In some implementations, as indicated at step 9-1, the mobile devicereceives a request for location information of the mobile device on anongoing basis. This request might be received for example because atracking application of a communication device is to track the locationof the mobile device. If the request is granted, then at step 9-2 themobile device automatically sends location information of the mobiledevice on an ongoing basis. This allows the communication device totrack the location of the mobile device. In some implementations, a GPSreceiver used for determining the location information of the mobiledevice is turned on if it is off at the time of the request. Also, atstep 9-3 the mobile device executes a user notification indicating thatits location is being tracked.

If at step 9-4 the mobile device receives a message indicating thatlocation information of the mobile device is not needed, then at step9-5 the mobile device ceases to send location information of the mobiledevice on the ongoing basis. Also, at step 9-6 the mobile deviceexecutes a user notification indicating that the location of the mobiledevice is no longer being tracked. The mobile device might receive themessage for example if a tracking application that uses the locationinformation is no longer running or is otherwise not presently trackingthe location of the mobile device.

In some implementations, as indicated at step 9-7, the mobile deviceturns off a GPS receiver used for determining the location informationof the mobile device if the GPS receiver is not needed for any otherpurpose. Turning off the GPS receiver can reduce power consumption forthe mobile device. The GPS receiver can be turned back on if for examplethe mobile device later receives notification that another device needsits location.

In some implementations, the method returns to step 9-1 at a later timeif the mobile device receives another request for location informationof the mobile device on an ongoing basis. In other words, the method canrepeat itself.

In the examples presented herein, reference is made to a mobile deviceautomatically sending location information of the mobile device on an“ongoing basis”. In some implementations, the ongoing basis is periodic.However, it is to be understood that the ongoing basis can be irregularand might be dependent upon one or more events or variables. Forexample, an update of location information of a mobile device might bereceived only whenever the mobile device moves a specified distance.Regardless, location information is provided automatically without anyspecific request except for an initial request for automaticallyreceiving location information on an ongoing basis.

The method described above with reference to FIG. 9 notifies a user inreal-time when its location is being tracked by another device. Thisinvolves determining whether the location is being tracked based onsending or not sending location information in accordance with varioussignaling, namely the request at step 9-1 and the message at step 9-4.The signaling can originate from a server in the case of server-basedcommunication, or from a communication device that tracks the locationof the mobile device in the case of peer-to-peer communication. Anexample of how the signaling is generated is described below.

Referring now to FIG. 10, shown is a flowchart of a method of obtaininglocation information of a mobile device only when the locationinformation is needed. This method may be implemented in server, forexample by the location tracking informer 67 of the server 65 shown inFIG. 2. Alternatively, this method may be implemented in a communicationdevice (e.g. first communication device 30 shown in FIG. 1) that tracksthe location of the mobile device. More generally, this method may beimplemented in any appropriately configured apparatus.

In some implementations, as indicated at step 10-1, the apparatusrequests to automatically receive location information of the mobiledevice on an ongoing basis. Upon receiving the request, the mobiledevice starts to provide location information on an ongoing basis.Therefore, at step 10-2, the apparatus automatically receives locationinformation of the mobile device on an ongoing basis. The locationinformation might for example be used by an application tracking thegeographic location of the mobile device.

At step 10-3, the apparatus determines whether location information ofthe mobile device is needed. This might for example involve determiningwhether the location information is presently needed. In specificimplementations, this involves determining whether an application thatuses the location information is no longer running or is otherwise notpresently tracking the location of the mobile device. Alternatively, oradditionally, a determination might be made as to whether the locationinformation is expected to be needed at some future time. In accordancewith an embodiment of the disclosure, if the location information of themobile device is not needed, then at step 10-4 the apparatus transmits amessage indicating that the location information of the mobile device isnot needed. Upon receiving the message, the mobile device stopsproviding location information to the apparatus on an ongoing basis.This avoids excessive messaging by avoiding location messages that arenot needed. This also serves to inform the mobile device that itslocation is not being tracked.

Later at step 10-5 the apparatus determines whether location informationof the mobile device is needed. This might for example involvedetermining whether the application that uses the location informationhas been re-executed or is otherwise not tracking the location of themobile device. If location information of the mobile device is needed,then at step 10-6 the apparatus transmits a message indicating that thelocation information of the mobile device is needed. Upon receiving themessage, the mobile device continues to provide location information onan ongoing basis. At step 10-7, the apparatus automatically receives thelocation information on an ongoing basis. Thus, the application thatuses the location information can continue to use the locationinformation for tracking purposes.

In some implementations, the method returns to step 10-3 so that theapparatus can determine at a later time whether location information ofthe mobile device is needed. In other words, the method can repeatitself.

User Interface

Referring now to FIG. 11, shown is a schematic of an example graphicuser interface (GUI) 90 for notifying a user in real-time when itslocation is being tracked. The GUI 90 might for example be displayed bya mobile device, for example by the mobile device 10 shown in FIG. 1 orby the mobile device 50 shown in FIG. 2. It is to be understood that theGUI 90 is shown with specific features and specific information forexemplary purposes only.

The GUI 90 includes a list 91 of users and a respective tracking status92 for each user. In this example, Joe has no permission to track thelocation of the mobile device. Sally has permission to track thelocation of the mobile device and is currently tracking the location ofthe mobile device. Rob has no permission to track the location of themobile device, but has nonetheless requested location information. Therequest was denied and therefore the tracking status 92 indicates “nopermission, request denied.” Terry has permission to track the locationof the mobile device and is currently tracking the location of themobile device. Paul has permission to track the location of the mobiledevice and was tracking the location of the mobile device but hasrecently stopped. Ron has permission to track the location of the mobiledevice and is currently tracking the location of the mobile device.

Whilst the GUI 90 is shown to indicate permissions, it is noted that theGUI 90 also provides an indication of who or what is tracking theirlocation. This goes beyond merely informing of who has permission totrack their location, as the user is provided with a real-timeindication of who or what is tracking their location.

Note that the tracking status 92 for each user 91 is text-based.Alternatively, or additionally, icons or other visual graphics can bedisplayed for indicating the tracking status 92. More generally, anyindication can be displayed from which the user can determine who orwhat is tracking their location. Whilst a tracking status is providedfor each of a plurality different users, it is to be understood thatalternative implementations are possible.

Another Mobile device

Referring now to FIG. 12, shown is a block diagram of another mobiledevice 100 that may implement any of the device methods describedherein. The mobile device 100 is shown with specific components forimplementing features similar to those of the mobile device 10 shown inFIG. 1 or the mobile device 50 shown in FIG. 2. It is to be understoodthat the mobile device 100 is shown with very specific details forexemplary purposes only.

A processing device (a microprocessor 128) is shown schematically ascoupled between a keyboard 114 and a display 126. The microprocessor 128is a type of processor with features similar to those of the processor13 of the mobile device 10 shown in FIG. 1 or the processor 53 of themobile device 50 shown in FIG. 2. The microprocessor 128 controlsoperation of the display 126, as well as overall operation of the mobiledevice 100, in response to actuation of keys on the keyboard 114 by auser.

The mobile device 100 has a housing that may be elongated vertically, ormay take on other sizes and shapes (including clamshell housingstructures). The keyboard 114 may include a mode selection key, or otherhardware or software for switching between text entry and telephonyentry.

In addition to the microprocessor 128, other parts of the mobile device100 are shown schematically. These include: a communications subsystem170; a short-range communications subsystem 102; the keyboard 114 andthe display 126, along with other input/output devices including a setof LEDs 104, a set of auxiliary I/O devices 106, a serial port 108, aspeaker 111 and a microphone 112; as well as memory devices including aflash memory 116 and a Random Access Memory (RAM) 118; and various otherdevice subsystems 120. The mobile device 100 may have a battery 121 topower the active elements of the mobile device 100. The mobile device100 is in some embodiments a two-way radio frequency (RF) communicationdevice having voice and data communication capabilities. In addition,the mobile device 100 in some embodiments has the capability tocommunicate with other computer systems via the Internet.

Operating system software executed by the microprocessor 128 is in someembodiments stored in a persistent store, such as the flash memory 116,but may be stored in other types of memory devices, such as a read onlymemory (ROM) or similar storage element. In addition, system software,specific device applications, or parts thereof, may be temporarilyloaded into a volatile store, such as the RAM 118. Communication signalsreceived by the mobile device 100 may also be stored to the RAM 118.

The microprocessor 128, in addition to its operating system functions,enables execution of software applications on the mobile device 100. Apredetermined set of software applications that control basic deviceoperations, such as a voice communications module 130A and a datacommunications module 130B, may be installed on the mobile device 100during manufacture. In addition, a personal information manager (PIM)application module 130C may also be installed on the mobile device 100during manufacture. The PIM application is in some embodiments capableof organizing and managing data items, such as e-mail, calendar events,voice mails, appointments, and task items. The PIM application is alsoin some embodiments capable of sending and receiving data items via awireless network 110. In some embodiments, the data items managed by thePIM application are seamlessly integrated, synchronized and updated viathe wireless network 110 with the device user's corresponding data itemsstored or associated with a host computer system. As well, additionalsoftware modules, illustrated as another software module 130N, may beinstalled during manufacture.

The flash memory 116 stores computer executable instructions forimplementing features similar to those of the location tracking notifier14 of the mobile device 10 shown in FIG. 1 or the location trackingnotifier 54 of the mobile device 50 shown in FIG. 2. In a specificimplementation, the other module 130N of the flash memory 116 storescomputer executable instructions that when executed implement a locationtracking notifier. Note that the implementations described withreference to FIG. 12 are very specific for exemplary purposes.

Communication functions, including data and voice communications, areperformed through the communication subsystem 170, and possibly throughthe short-range communications subsystem 102. The communicationsubsystem 170 includes a receiver 150, a transmitter 152, a GPS receiver162, and one or more antennas, illustrated as a receive antenna 154 anda transmit antenna 156, and a GPS antenna 164. In addition, thecommunication subsystem 170 also includes a processing module, such as adigital signal processor (DSP) 158, and local oscillators (LOs) 160. Thecommunication subsystem 170 having the transmitter 152 and the receiver150 is a wireless access radio with features similar to those of thewireless access radio 11 of the mobile device 10 shown in FIG. 1 or thewireless access radio 51 of the mobile device 50 shown in FIG. 2. Thespecific design and implementation of the communication subsystem 170 isdependent upon the communication network in which the mobile device 100is intended to operate. For example, the communication subsystem 170 ofthe mobile device 100 may be designed to operate with the Mobitex™,DataTAC™ or General Packet Radio Service (GPRS) mobile datacommunication networks and also designed to operate with any of avariety of voice communication networks, such as Advanced Mobile PhoneService (AMPS), Time Division Multiple Access (TDMA), Code DivisionMultiple Access (CDMA), Personal Communications Service (PCS), GlobalSystem for Mobile Communications (GSM), etc. Examples of CDMA include 1×and 1× EV-DO. The communication subsystem 170 may also be designed tooperate with an 802.11 Wi-Fi network, and/or an 802.16 WiMAX network.Other types of data and voice networks, both separate and integrated,may also be utilized with the mobile device 100.

Network access may vary depending upon the type of communication system.For example, in the Mobitex™ and DataTAC™ networks, mobile devices areregistered on the network using a unique Personal Identification Number(PIN) associated with each device. In GPRS networks, however, networkaccess is typically associated with a subscriber or user of a device. AGPRS device therefore typically has a subscriber identity module,commonly referred to as a Subscriber Identity Module (SIM) card, inorder to operate on a GPRS network.

When network registration or activation procedures have been completed,the mobile device 100 may send and receive communication signals overthe communication network 110. Signals received from the communicationnetwork 110 by the receive antenna 154 are routed to the receiver 150,which provides for signal amplification, frequency down conversion,filtering, channel selection, etc., and may also provide analog todigital conversion. Analog-to-digital conversion of the received signalallows the DSP 158 to perform more complex communication functions, suchas demodulation and decoding. In a similar manner, signals to betransmitted to the network 110 are processed (e.g., modulated andencoded) by the DSP 158 and are then provided to the transmitter 152 fordigital to analog conversion, frequency up conversion, filtering,amplification and transmission to the communication network 110 (ornetworks) via the transmit antenna 156.

In addition to processing communication signals, the DSP 158 providesfor control of the receiver 150, the transmitter 152, and the GPSreceiver 162. For example, gains applied to communication signals in thereceiver 150 and the transmitter 152 may be adaptively controlledthrough automatic gain control algorithms implemented in the DSP 158.

In a data communication mode, a received signal, such as a text messageor web page download, is processed by the communication subsystem 170and is input to the microprocessor 128. The received signal is thenfurther processed by the microprocessor 128 for an output to the display126, or alternatively to some other auxiliary I/O devices 106. A deviceuser may also compose data items, such as e-mail messages, using thekeyboard 114 and/or some other auxiliary I/O device 106, such as atouchpad, a rocker switch, a thumb-wheel, or some other type of inputdevice. The composed data items may then be transmitted over thecommunication network 110 via the communication subsystem 170.

In a voice communication mode, overall operation of the device issubstantially similar to the data communication mode, except thatreceived signals are output to a speaker 111, and signals fortransmission are generated by a microphone 112. Alternative voice oraudio I/O subsystems, such as a voice message recording subsystem, mayalso be implemented on the mobile device 100. In addition, the display126 may also be utilized in voice communication mode, for example, todisplay the identity of a calling party, the duration of a voice call,or other voice call related information.

Location determination using GPS technology involves receiving GPSsignals from GPS satellites 166 on the antenna 164. The GPS signals arereceived using the GPS receiver 162 and processed by the DSP 158.Typically, GPS signals from at least four satellites are processed.Further details of GPS are omitted for simplicity.

The short-range communications subsystem 102 enables communicationbetween the mobile device 100 and other proximate systems or devices,which need not necessarily be similar devices. For example, the shortrange communications subsystem may include an infrared device andassociated circuits and components, or a Bluetooth™ communication moduleto provide for communication with similarly-enabled systems and devices.

Numerous modifications and variations of the present disclosure arepossible in light of the above teachings. It is therefore to beunderstood that within the scope of the appended claims, the disclosuremay be practised otherwise than as specifically described herein.

We claim:
 1. A method for execution in a mobile device, the methodcomprising: determining location information of the mobile device;determining that the location information meets a condition forproviding the location information; and in response to determining thatthe location information meets the condition, providing the locationinformation to at least one other device, and executing a usernotification at the mobile device indicating that the location of themobile device is being tracked.
 2. The method of claim 1, wherein thecondition is a minimum distance, and the location information meets thecondition when the location information indicates that the mobile devicehas moved at least the minimum distance.
 3. The method of claim 2,wherein the minimum distance is a minimum distance from a previousposition of the mobile device.
 4. The method of claim 1, wherein thecondition is a distance from an object, and the location informationmeets the condition when the location information indicates that themobile device is within the distance from the object.
 5. The method ofclaim 1, wherein the condition is a geofence, and the locationinformation meets the condition when the location information indicatesthat the mobile device has left the geofence.
 6. The method of claim 1,wherein the at least one other device is a server.
 7. The method ofclaim 6, further comprising: receiving from the server a messageindentifying who or what is tracking the location of the mobile device.8. The method of claim 1, further comprising: if the locationinformation is being provided to a server, receiving a message from theserver identifying who or what is tracking the location of the mobiledevice; wherein executing the user notification comprises identifyingwho or what is tracking the location of the mobile device.
 9. Anon-transitory computer readable medium having computer executableinstructions stored thereon for execution on a processor of a mobiledevice to cause the processor to: determine location information of themobile device; determine that the location information meets a conditionfor providing the location information; and in response to thedetermination that the location information meets the condition, providethe location information to at least one other device, and execute auser notification at the mobile device that indicates that the locationof the mobile device is being tracked.
 10. The non-transitory computerreadable medium of claim 9, wherein the condition comprises at least oneof: a minimum distance, and the location information meets the conditionwhen the location information indicates that the mobile device has movedat least the minimum distance; a distance from an object, and thelocation information meets the condition when the location informationindicates that the mobile device is within the distance from the object;or a geofence, and the location information meets the condition when thelocation information indicates that the mobile device has left thegeofence.
 11. A mobile device comprising: a processor; and a locationtracking informer configured to: determine location information of themobile device; determine that the location information meets a conditionfor providing the location information; and in response to thedetermination that the location information meets the condition, providethe location information to at least one other device, and execute auser notification at the mobile device that indicates that the locationof the mobile device is being tracked.
 12. The mobile device of claim11, wherein the condition is a minimum distance, and the locationinformation meets the condition when the location information indicatesthat the mobile device has moved at least the minimum distance.
 13. Themobile device of claim 12, wherein the minimum distance is a minimumdistance from a previous position of the mobile device.
 14. The mobiledevice of claim 11, wherein the condition is a distance from an object,and the location information meets the condition when the locationinformation indicates that the mobile device is within the distance fromthe object.
 15. The mobile device of claim 11, wherein the condition isa geofence, and the location information meets the condition when thelocation information indicates that the mobile device has left thegeofence.
 16. The mobile device of claim 11, wherein the at least oneother device is a server.
 17. The mobile device of claim 16, wherein thelocation tracking informer is configured to: receive from the server amessage identifying who or what is tracking the location information ofthe mobile device.
 18. The mobile device of claim 11, wherein thelocation tracking informer is configured to: if the location informationis being provided to a server, receive a message from the serveridentifying who or what is tracking the location of the mobile device;wherein the location tracking informer being configured to execute theuser notification comprises the location tracking informer beingconfigured to identify who or what is tracking the location of themobile device.